Micron Document
`:top
In `F33f`_`[mathematics`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Mathematics]`_`f, a `!Boolean function`! is a `F33f`_`[function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Function_(mathematics)]`_`f whose `F33f`_`[arguments`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Argument_of_a_function]`_`f and result assume values from a two-element set (usually {true, false}, {0,1} or {−1,1}).`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f]`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] Alternative names are `!switching function`!, used especially in older `F33f`_`[computer science`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer_science]`_`f literature,`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f] and `!`F33f`_`[truth function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Truth_function]`_`f`! (or `!logical function)`!, used in `F33f`_`[logic`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logic]`_`f. Boolean functions are the subject of `F33f`_`[Boolean algebra`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boolean_algebra]`_`f and `F33f`_`[switching theory`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Switching_theory]`_`f.`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]

A Boolean function takes the form f : { 0 , 1 } k → → { 0 , 1 } {\\displaystyle f:\\{0,1\\}^{k}\\to \\{0,1\\}} , where { 0 , 1 } {\\displaystyle \\{0,1\\}} is known as the `F33f`_`[Boolean domain`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boolean_domain]`_`f and k {\\displaystyle k} is a non-negative integer called the `F33f`_`[arity`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Arity]`_`f of the function. In the case where k = 0 {\\displaystyle k=0} , the function is a constant element of { 0 , 1 } {\\displaystyle \\{0,1\\}} . A Boolean function with multiple outputs, f : { 0 , 1 } k → → { 0 , 1 } m {\\displaystyle f:\\{0,1\\}^{k}\\to \\{0,1\\}^{m}} with m > 1 {\\displaystyle m>1} is a `!vectorial`! or `*vector-valued`* Boolean function (an `F33f`_`[S-box`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S-box]`_`f in symmetric `F33f`_`[cryptography`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Cryptography]`_`f).`:cite-ref-2-6-0[`F5bf`_`[6`#cite-note-2-6]`_`f]

There are 2 2 k {\\displaystyle 2^{2^{k}}} different Boolean functions with k {\\displaystyle k} arguments; equal to the number of different `F33f`_`[truth tables`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Truth_table]`_`f with 2 k {\\displaystyle 2^{k}} entries.

Every k {\\displaystyle k} -ary Boolean function can be expressed as a `F33f`_`[propositional formula`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Propositional_formula]`_`f in k {\\displaystyle k} variables x 1 , . . . , x k {\\displaystyle x_{1},...,x_{k}} , and two propositional formulas are `F33f`_`[logically equivalent`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_equivalence]`_`f if and only if they express the same Boolean function.

>>Contents

• `F0af`_`[Examples`#examples]`_`f
• `F0af`_`[Representation`#representation]`_`f
• `F0af`_`[Analysis`#analysis]`_`f
• `F0af`_`[Properties`#properties]`_`f
• `F0af`_`[Derived functions`#derived-functions]`_`f
• `F0af`_`[Cryptographic analysis`#cryptographic-analysis]`_`f
• `F0af`_`[Real polynomial form`#real-polynomial-form]`_`f
• `F0af`_`[On the unit hypercube`#on-the-unit-hypercube]`_`f
• `F0af`_`[On the symmetric hypercube`#on-the-symmetric-hypercube]`_`f
• `F0af`_`[Applications`#applications]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[Further reading`#further-reading]`_`f

-─

>>Examples

The rudimentary symmetric Boolean functions (`F33f`_`[logical connectives`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_connective]`_`f or `F33f`_`[logic gates`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logic_gate]`_`f) are:

• `F33f`_`[NOT`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Inverter_(logic_gate)]`_`f, `F33f`_`[negation`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Negation]`_`f or `F33f`_`[complement`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_complement]`_`f - which receives one input and returns true when that input is false ("not")
• `F33f`_`[AND`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=AND_gate]`_`f or `F33f`_`[conjunction`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_conjunction]`_`f - true when all inputs are true ("both")
• `F33f`_`[OR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=OR_gate]`_`f or `F33f`_`[disjunction`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_disjunction]`_`f - true when any input is true ("either")
• `F33f`_`[XOR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=XOR_gate]`_`f or `F33f`_`[exclusive disjunction`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Exclusive_or]`_`f - true when one of its inputs is true and the other is false ("not equal")
• `F33f`_`[NAND`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NAND_gate]`_`f or `F33f`_`[Sheffer stroke`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sheffer_stroke]`_`f - true when it is not the case that all inputs are true ("not both")
• `F33f`_`[NOR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NOR_gate]`_`f or `F33f`_`[logical nor`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_NOR]`_`f - true when none of the inputs are true ("neither")
• `F33f`_`[XNOR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=XNOR_gate]`_`f or `F33f`_`[logical equality`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_equality]`_`f - true when both inputs are the same ("equal")

An example of a more complicated function is the `F33f`_`[majority function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Majority_function]`_`f (of an odd number of inputs).

>>Representation

A Boolean function may be specified in a variety of ways:

• `F33f`_`[Truth table`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Truth_table]`_`f: explicitly listing its value for all possible values of the arguments

• Marquand diagram: truth table values arranged in a two-dimensional grid (used in a `F33f`_`[Karnaugh map`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Karnaugh_map]`_`f)
• `F33f`_`[Binary decision diagram`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Binary_decision_diagram]`_`f, listing the truth table values at the bottom of a binary tree
• `F33f`_`[Venn diagram`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Venn_diagram]`_`f, depicting the truth table values as a colouring of regions of the plane

Algebraically, as a `F33f`_`[propositional formula`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Propositional_formula]`_`f using rudimentary Boolean functions:

• `F33f`_`[Negation normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Negation_normal_form]`_`f, an arbitrary mix of AND and ORs of the arguments and their complements
• `F33f`_`[Disjunctive normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Disjunctive_normal_form]`_`f, as an OR of ANDs of the arguments and their complements
• `F33f`_`[Conjunctive normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Conjunctive_normal_form]`_`f, as an AND of ORs of the arguments and their complements
• `F33f`_`[Canonical normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Canonical_normal_form]`_`f, a standardized formula which uniquely identifies the function:

• `F33f`_`[Algebraic normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebraic_normal_form]`_`f or `F33f`_`[Zhegalkin polynomial`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zhegalkin_polynomial]`_`f, as a XOR of ANDs of the arguments (no complements allowed)
• `*Full`* (canonical) `F33f`_`[disjunctive normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Disjunctive_normal_form]`_`f, an OR of ANDs each containing every argument or complement (`F33f`_`[minterms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Minterms]`_`f)
• `*Full`* (canonical) `F33f`_`[conjunctive normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Conjunctive_normal_form]`_`f, an AND of ORs each containing every argument or complement (`F33f`_`[maxterms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Maxterms]`_`f)
• `F33f`_`[Blake canonical form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Blake_canonical_form]`_`f, the OR of all the `F33f`_`[prime implicants`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Prime_implicant]`_`f of the function

Boolean formulas can also be displayed as a graph:

• `F33f`_`[Propositional directed acyclic graph`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Propositional_directed_acyclic_graph]`_`f

• `F33f`_`[Digital circuit`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Circuit_(computer_science)]`_`f diagram of `F33f`_`[logic gates`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logic_gate]`_`f, a `F33f`_`[Boolean circuit`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boolean_circuit]`_`f
• `F33f`_`[And-inverter graph`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=And-inverter_graph]`_`f, using only AND and NOT

In order to optimize electronic circuits, Boolean formulas can be `F33f`_`[minimized`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Minimization_of_Boolean_functions]`_`f using the `F33f`_`[Quine–McCluskey algorithm`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Quine–McCluskey_algorithm]`_`f or `F33f`_`[Karnaugh map`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Karnaugh_map]`_`f.

>>Analysis

>>>Properties

A Boolean function can have a variety of properties:`:cite-ref-0-7-0[`F5bf`_`[7`#cite-note-0-7]`_`f]

• `F33f`_`[Constant`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Constant_function]`_`f: Is always true or always false regardless of its arguments.
• `F33f`_`[Monotone`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Monotonic_function]`_`f: for every combination of argument values, changing an argument from false to true can only cause the output to switch from false to true and not from true to false. A function is said to be `F33f`_`[unate`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Unate_function]`_`f in a certain variable if it is monotone with respect to changes in that variable.
• `F33f`_`[Linear`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Linearity]`_`f: for each variable, flipping the value of the variable either always makes a difference in the truth value or never makes a difference (a `F33f`_`[parity function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parity_function]`_`f).
• `F33f`_`[Symmetric`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Symmetric_Boolean_function]`_`f: the value does not depend on the order of its arguments.
• `F33f`_`[Read-once`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Read-once_function]`_`f: Can be expressed with `F33f`_`[conjunction`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_conjunction]`_`f, `F33f`_`[disjunction`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logical_disjunction]`_`f, and `F33f`_`[negation`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Negation]`_`f with a single instance of each variable.
• `F33f`_`[Balanced`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Balanced_Boolean_function]`_`f: if its `F33f`_`[truth table`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Truth_table]`_`f contains an equal number of zeros and ones. The `F33f`_`[Hamming weight`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hamming_weight]`_`f of the function is the number of ones in the truth table.
• `F33f`_`[Bent`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Bent_function]`_`f: its derivatives are all balanced (the autocorrelation spectrum is zero)
• `F33f`_`[Correlation immune`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Correlation_immunity]`_`f to `*m`*th order: if the output is uncorrelated with all (linear) combinations of at most `*m`* arguments
• `F33f`_`[Evasive`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Evasive_Boolean_function]`_`f: if evaluation of the function always requires the value of all arguments
• A Boolean function is a `*Sheffer function`* if it can be used to create (by composition) any arbitrary Boolean function (see `F33f`_`[functional completeness`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Functional_completeness]`_`f)
• The `*algebraic degree`* of a function is the order of the highest order monomial in its `F33f`_`[algebraic normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebraic_normal_form]`_`f

`F33f`_`[Circuit complexity`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Circuit_complexity]`_`f attempts to classify Boolean functions with respect to the size or depth of circuits that can compute them.

>>>Derived functions

A Boolean function may be decomposed using `F33f`_`[Boole's expansion theorem`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boole's_expansion_theorem]`_`f in positive and negative `*Shannon`* `*cofactors`* (`F33f`_`[Shannon expansion`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Shannon_expansion]`_`f), which are the (`*k`*−1)-ary functions resulting from fixing one of the arguments (to 0 or 1). The general `*k`*-ary functions obtained by imposing a linear constraint on a set of inputs (a linear subspace) are known as `*subfunctions`*.`:cite-ref-1-8-0[`F5bf`_`[8`#cite-note-1-8]`_`f]

The `*`F33f`_`[Boolean derivative`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boolean_derivative]`_`f`* of the function to one of the arguments is a (`*k`*−1)-ary function that is true when the output of the function is sensitive to the chosen input variable; it is the XOR of the two corresponding cofactors. A derivative and a cofactor are used in a `F33f`_`[Reed–Muller expansion`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Reed–Muller_expansion]`_`f. The concept can be generalized as a `*k`*-ary derivative in the direction dx, obtained as the difference (XOR) of the function at x and x + dx.`:cite-ref-1-8-1[`F5bf`_`[8`#cite-note-1-8]`_`f]

The `*`F33f`_`[Möbius transform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zhegalkin_polynomial]`_`f`* (or `*Boole–Möbius transform`*) of a Boolean function is the set of coefficients of its `F33f`_`[polynomial`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zhegalkin_polynomial]`_`f (`F33f`_`[algebraic normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebraic_normal_form]`_`f), as a function of the monomial exponent vectors. It is a `F33f`_`[self-inverse`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Involution_(mathematics)]`_`f transform. It can be calculated efficiently using a `F33f`_`[butterfly algorithm`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Butterfly_diagram]`_`f ("`*Fast Möbius Transform`*"), analogous to the `F33f`_`[fast Fourier transform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Fast_Fourier_transform]`_`f.`:cite-ref-9[`F5bf`_`[9`#cite-note-9]`_`f] `*Coincident`* Boolean functions are equal to their Möbius transform, i.e. their truth table (minterm) values equal their algebraic (monomial) coefficients.`:cite-ref-10[`F5bf`_`[10`#cite-note-10]`_`f] There are 2^2^(`*k`*−1) coincident functions of `*k`* arguments.`:cite-ref-11[`F5bf`_`[11`#cite-note-11]`_`f]

>>>Cryptographic analysis

The `*`F33f`_`[Walsh transform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Walsh_transform]`_`f`* of a Boolean function is a k-ary integer-valued function giving the coefficients of a decomposition into `F33f`_`[linear functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parity_function]`_`f (`F33f`_`[Walsh functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Walsh_function]`_`f), analogous to the decomposition of real-valued functions into `F33f`_`[harmonics`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Harmonic]`_`f by the `F33f`_`[Fourier transform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Fourier_transform]`_`f. Its square is the `*power spectrum`* or `*Walsh spectrum`*. The Walsh coefficient of a single bit vector is a measure for the correlation of that bit with the output of the Boolean function. The maximum (in absolute value) Walsh coefficient is known as the `*linearity`* of the function.`:cite-ref-1-8-2[`F5bf`_`[8`#cite-note-1-8]`_`f] The highest number of bits (order) for which all Walsh coefficients are 0 (i.e. the subfunctions are balanced) is known as `*resiliency`*, and the function is said to be `F33f`_`[correlation immune`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Correlation_immunity]`_`f to that order.`:cite-ref-1-8-3[`F5bf`_`[8`#cite-note-1-8]`_`f] The Walsh coefficients play a key role in `F33f`_`[linear cryptanalysis`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Linear_cryptanalysis]`_`f.

The `*`F33f`_`[autocorrelation`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Autocorrelation]`_`f`* of a Boolean function is a k-ary integer-valued function giving the correlation between a certain set of changes in the inputs and the function output. For a given bit vector it is related to the Hamming weight of the derivative in that direction. The maximal autocorrelation coefficient (in absolute value) is known as the `*absolute indicator`*.`:cite-ref-0-7-1[`F5bf`_`[7`#cite-note-0-7]`_`f]`:cite-ref-1-8-4[`F5bf`_`[8`#cite-note-1-8]`_`f] If all autocorrelation coefficients are 0 (i.e. the derivatives are balanced) for a certain number of bits then the function is said to satisfy the `*propagation criterion`* to that order; if they are all zero then the function is a `F33f`_`[bent function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Bent_function]`_`f.`:cite-ref-12[`F5bf`_`[12`#cite-note-12]`_`f] The autocorrelation coefficients play a key role in `F33f`_`[differential cryptanalysis`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Differential_cryptanalysis]`_`f.

The Walsh coefficients of a Boolean function and its autocorrelation coefficients are related by the equivalent of the `F33f`_`[Wiener–Khinchin theorem`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wiener–Khinchin_theorem]`_`f, which states that the autocorrelation and the power spectrum are a Walsh transform pair.`:cite-ref-1-8-5[`F5bf`_`[8`#cite-note-1-8]`_`f]

>>>>Linear approximation table

These concepts can be extended naturally to `*vectorial`* Boolean functions by considering their output bits (`*coordinates`*) individually, or more thoroughly, by looking at the set of all linear functions of output bits, known as its `*components`*.`:cite-ref-2-6-1[`F5bf`_`[6`#cite-note-2-6]`_`f] The set of Walsh transforms of the components is known as a `!linear approximation table`! (LAT)`:cite-ref-3-13-0[`F5bf`_`[13`#cite-note-3-13]`_`f]`:cite-ref-4-14-0[`F5bf`_`[14`#cite-note-4-14]`_`f] or `*correlation matrix`*;`:cite-ref-15[`F5bf`_`[15`#cite-note-15]`_`f]`:cite-ref-16[`F5bf`_`[16`#cite-note-16]`_`f] it describes the correlation between different linear combinations of input and output bits. The set of autocorrelation coefficients of the components is the `*autocorrelation table`*,`:cite-ref-4-14-1[`F5bf`_`[14`#cite-note-4-14]`_`f] related by a Walsh transform of the components`:cite-ref-17[`F5bf`_`[17`#cite-note-17]`_`f] to the more widely used `*difference distribution table`* (DDT)`:cite-ref-3-13-1[`F5bf`_`[13`#cite-note-3-13]`_`f]`:cite-ref-4-14-2[`F5bf`_`[14`#cite-note-4-14]`_`f] which lists the correlations between differences in input and output bits (see also: `F33f`_`[S-box`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S-box]`_`f).

>>Real polynomial form

>>>On the unit hypercube

Any Boolean function f ( x ) : { 0 , 1 } n → → { 0 , 1 } {\\displaystyle f(x):\\{0,1\\}^{n}\\rightarrow \\{0,1\\}} can be uniquely extended (interpolated) to the `F33f`_`[real domain`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Real_number]`_`f by a `F33f`_`[multilinear polynomial`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Multilinear_polynomial]`_`f in R n {\\displaystyle \\mathbb {R} ^{n}} , constructed by summing the truth table values multiplied by `F33f`_`[indicator polynomials`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Lagrange_polynomial]`_`f: f ∗ ∗ ( x ) = ∑ ∑ a ∈ ∈ { 0 , 1 } n f ( a ) ∏ ∏ i : a i = 1 x i ∏ ∏ i : a i = 0 ( 1 − − x i ) {\\displaystyle f^{*}(x)=\\sum _{a\\in {\\{0,1\\}}^{n}}f(a)\\prod _{i:a_{i}=1}x_{i}\\prod _{i:a_{i}=0}(1-x_{i})} For example, the extension of the binary XOR function x ⊕ ⊕ y {\\displaystyle x\\oplus y} is 0 ( 1 − − x ) ( 1 − − y ) + 1 x ( 1 − − y ) + 1 ( 1 − − x ) y + 0 x y {\\displaystyle 0(1-x)(1-y)+1x(1-y)+1(1-x)y+0xy} which equals x + y − − 2 x y {\\displaystyle x+y-2xy} Some other examples are negation ( 1 − − x {\\displaystyle 1-x} ), AND ( x y {\\displaystyle xy} ) and OR ( x + y − − x y {\\displaystyle x+y-xy} ). When all operands are independent (share no variables) a function's polynomial form can be found by repeatedly applying the polynomials of the operators in a Boolean formula. When the coefficients are calculated `F33f`_`[modulo 2`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Modular_arithmetic]`_`f one obtains the `F33f`_`[algebraic normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebraic_normal_form]`_`f (`F33f`_`[Zhegalkin polynomial`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zhegalkin_polynomial]`_`f).

Direct expressions for the coefficients of the polynomial can be derived by taking an appropriate derivative: f ∗ ∗ ( 00 ) = ( f ∗ ∗ ) ( 00 ) = f ( 00 ) f ∗ ∗ ( 01 ) = ( ∂ ∂ 1 f ∗ ∗ ) ( 00 ) = − − f ( 00 ) + f ( 01 ) f ∗ ∗ ( 10 ) = ( ∂ ∂ 2 f ∗ ∗ ) ( 00 ) = − − f ( 00 ) + f ( 10 ) f ∗ ∗ ( 11 ) = ( ∂ ∂ 1 ∂ ∂ 2 f ∗ ∗ ) ( 00 ) = f ( 00 ) − − f ( 01 ) − − f ( 10 ) + f ( 11 ) {\\displaystyle {\\begin{array}{lcl}f^{*}(00)&=&(f^{*})(00)&=&f(00)\\\\f^{*}(01)&=&(\\partial _{1}f^{*})(00)&=&-f(00)+f(01)\\\\f^{*}(10)&=&(\\partial _{2}f^{*})(00)&=&-f(00)+f(10)\\\\f^{*}(11)&=&(\\partial _{1}\\partial _{2}f^{*})(00)&=&f(00)-f(01)-f(10)+f(11)\\\\\\end{array}}} this generalizes as the `F33f`_`[Möbius inversion`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Möbius_transform]`_`f of the `F33f`_`[partially ordered set`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Partially_ordered_set]`_`f of bit vectors: f ∗ ∗ ( m ) = ∑ ∑ a ⊆ ⊆ m ( − − 1 ) | a | + | m | f ( a ) {\\displaystyle f^{*}(m)=\\sum _{a\\subseteq m}(-1)^{|a|+|m|}f(a)} where | a | {\\displaystyle |a|} denotes the weight of the bit vector a {\\displaystyle a} . Taken modulo 2, this is the `F33f`_`[Boolean Möbius transform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zhegalkin_polynomial]`_`f, giving the `F33f`_`[algebraic normal form`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebraic_normal_form]`_`f coefficients: f ^ ^ ( m ) = ⨁ ⨁ a ⊆ ⊆ m f ( a ) {\\displaystyle {\\hat {f}}(m)=\\bigoplus _{a\\subseteq m}f(a)} In both cases, the sum is taken over all bit-vectors `*a`* covered by `*m`*, i.e. the "one" bits of `*a`* form a subset of the one bits of `*m`*.

When the domain is restricted to the n-dimensional `F33f`_`[hypercube`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hypercube]`_`f [ 0 , 1 ] n {\\displaystyle [0,1]^{n}} , the polynomial f ∗ ∗ ( x ) : [ 0 , 1 ] n → → [ 0 , 1 ] {\\displaystyle f^{*}(x):[0,1]^{n}\\rightarrow [0,1]} gives the probability of a positive outcome when the Boolean function `*f`* is applied to `*n`* independent random (`F33f`_`[Bernoulli`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Bernoulli_distribution]`_`f) variables, with individual probabilities `*x`*. A special case of this fact is the `F33f`_`[piling-up lemma`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Piling-up_lemma]`_`f for `F33f`_`[parity functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parity_function]`_`f. The polynomial form of a Boolean function can also be used as its natural extension to `F33f`_`[fuzzy logic`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Fuzzy_logic]`_`f.

>>>On the symmetric hypercube

Often, the Boolean domain is taken as { − − 1 , 1 } {\\displaystyle \\{-1,1\\}} , with false ("0") mapping to 1 and true ("1") to −1 (see `F33f`_`[Analysis of Boolean functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Analysis_of_Boolean_functions]`_`f). The polynomial corresponding to g ( x ) : { − − 1 , 1 } n → → { − − 1 , 1 } {\\displaystyle g(x):\\{-1,1\\}^{n}\\rightarrow \\{-1,1\\}} is then given by: g ∗ ∗ ( x ) = ∑ ∑ a ∈ ∈ { − − 1 , 1 } n g ( a ) ∏ ∏ i : a i = − − 1 1 − − x i 2 ∏ ∏ i : a i = 1 1 + x i 2 {\\displaystyle g^{*}(x)=\\sum _{a\\in {\\{-1,1\\}}^{n}}g(a)\\prod _{i:a_{i}=-1}{\\frac {1-x_{i}}{2}}\\prod _{i:a_{i}=1}{\\frac {1+x_{i}}{2}}} Using the symmetric Boolean domain simplifies certain aspects of the `F33f`_`[analysis`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Analysis_of_Boolean_functions]`_`f, since negation corresponds to multiplying by −1 and `F33f`_`[linear functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parity_function]`_`f are `F33f`_`[monomials`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Monomial]`_`f (XOR is multiplication). This polynomial form thus corresponds to the `*Walsh transform`* (in this context also known as `*Fourier transform`*) of the function (see above). The polynomial also has the same statistical interpretation as the one in the standard Boolean domain, except that it now deals with the expected values E ( X ) = P ( X = 1 ) − − P ( X = − − 1 ) ∈ ∈ [ − − 1 , 1 ] {\\displaystyle E(X)=P(X=1)-P(X=-1)\\in [-1,1]} (see `F33f`_`[piling-up lemma`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Piling-up_lemma]`_`f for an example).

>>Applications

Boolean functions play a basic role in questions of `F33f`_`[complexity theory`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computational_complexity_theory]`_`f as well as the design of processors for `F33f`_`[digital computers`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Digital_computer]`_`f, where they are implemented in electronic circuits using `F33f`_`[logic gates`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Logic_gate]`_`f.

The properties of Boolean functions are critical in `F33f`_`[cryptography`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Cryptography]`_`f, particularly in the design of `F33f`_`[symmetric key algorithms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Symmetric_key_algorithm]`_`f (see `F33f`_`[substitution box`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Substitution_box]`_`f).

In `F33f`_`[cooperative game`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Cooperative_game_theory]`_`f theory, monotone Boolean functions are called `!simple games`! (voting games); this notion is applied to solve problems in `F33f`_`[social choice theory`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Social_choice_theory]`_`f.

>>See also

• `F33f`_`[Pseudo-Boolean function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Pseudo-Boolean_function]`_`f
• `F33f`_`[Boolean-valued function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Boolean-valued_function]`_`f
• `F33f`_`[Boolean algebra topics`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=List_of_Boolean_algebra_topics]`_`f
• `F33f`_`[Algebra of sets`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Algebra_of_sets]`_`f
• `F33f`_`[Decision tree model`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Decision_tree_model]`_`f
• `F33f`_`[Indicator function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Indicator_function]`_`f
• `F33f`_`[Signed set`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Signed_set]`_`f

>>References

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f "Boolean function - Encyclopedia of Mathematics". `*encyclopediaofmath.org`*. Retrieved 2021-05-03.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `:citerefweisstein`aWeisstein, Eric W. "Boolean Function". `*mathworld.wolfram.com`*. Retrieved 2021-05-03.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f "switching function". `*TheFreeDictionary.com`*. Retrieved 2021-05-03.
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `:citerefdavies1957`aDavies, D. W. (December 1957). "Switching Functions of Three Variables". `*IRE Transactions on Electronic Computers`*. `!EC-6`! (4): 265–275. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1109/TEC.1957.5222038. `F33f`_`[ISSN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISSN_(identifier)]`_`f 0367-9950.
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f `:citerefmccluskey2003`aMcCluskey, Edward J. (2003-01-01), "Switching theory", `*Encyclopedia of Computer Science`*, GBR: John Wiley and Sons Ltd., pp. 1727–1731, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-470-86412-8, retrieved 2021-05-03
`:cite-note-2-6`!6.`! `F0af`_`[↑`#cite-ref-2-6-0]`_`f `:citerefcarlet`aCarlet, Claude. "Vectorial Boolean Functions for Cryptography" (PDF). `*University of Paris`*. Archived (PDF) from the original on 2016-01-17.
`:cite-note-0-7`!7.`! `F0af`_`[↑`#cite-ref-0-7-0]`_`f "Boolean functions — Sage 9.2 Reference Manual: Cryptography". `*doc.sagemath.org`*. Retrieved 2021-05-01.
`:cite-note-1-8`!8.`! `F0af`_`[↑`#cite-ref-1-8-0]`_`f `:citereftarannikovkorolevbotev2001`aTarannikov, Yuriy; Korolev, Peter; Botev, Anton (2001). "Autocorrelation Coefficients and Correlation Immunity of Boolean Functions". In Boyd, Colin (ed.). `*Advances in Cryptology — ASIACRYPT 2001`*. Lecture Notes in Computer Science. Vol. 2248. Berlin, Heidelberg: Springer. pp. 460–479. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/3-540-45682-1_27. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-3-540-45682-7.
`:cite-note-9`!9.`! `F0af`_`[↑`#cite-ref-9]`_`f `:citerefcarlet2010`aCarlet, Claude (2010), "Boolean Functions for Cryptography and Error-Correcting Codes" (PDF), `*Boolean Models and Methods in Mathematics, Computer Science, and Engineering`*, Encyclopedia of Mathematics and its Applications, Cambridge: Cambridge University Press, pp. 257–397, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-521-84752-0, retrieved 2021-05-17
`:cite-note-10`!10.`! `F0af`_`[↑`#cite-ref-10]`_`f `:citerefpieprzykwangzhang2011`aPieprzyk, Josef; Wang, Huaxiong; Zhang, Xian-Mo (2011-05-01). "Mobius transforms, coincident Boolean functions and non-coincidence property of Boolean functions". `*International Journal of Computer Mathematics`*. `!88`! (7): 1398–1416. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1080/00207160.2010.509428. `F33f`_`[ISSN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISSN_(identifier)]`_`f 0020-7160. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 9580510.
`:cite-note-11`!11.`! `F0af`_`[↑`#cite-ref-11]`_`f `:citerefnitajsusilotonien2017`aNitaj, Abderrahmane; Susilo, Willy; Tonien, Joseph (2017-10-01). "Dirichlet product for boolean functions". `*Journal of Applied Mathematics and Computing`*. `!55`! (1): 293–312. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/s12190-016-1037-4. `F33f`_`[ISSN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISSN_(identifier)]`_`f 1865-2085. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 16760125.
`:cite-note-12`!12.`! `F0af`_`[↑`#cite-ref-12]`_`f `:citerefcanteautcarletcharpinfontaine2000`aCanteaut, Anne; Carlet, Claude; Charpin, Pascale; Fontaine, Caroline (2000-05-14). "Propagation characteristics and correlation-immunity of highly nonlinear boolean functions". `*Proceedings of the 19th International Conference on Theory and Application of Cryptographic Techniques`*. EUROCRYPT'00. Bruges, Belgium: Springer-Verlag: 507–522. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-3-540-67517-4.
`:cite-note-3-13`!13.`! `F0af`_`[↑`#cite-ref-3-13-0]`_`f `:citerefheys`aHeys, Howard M. "A Tutorial on Linear and Differential Cryptanalysis" (PDF). Archived (PDF) from the original on 2017-05-17.
`:cite-note-4-14`!14.`! `F0af`_`[↑`#cite-ref-4-14-0]`_`f "S-Boxes and Their Algebraic Representations — Sage 9.2 Reference Manual: Cryptography". `*doc.sagemath.org`*. Retrieved 2021-05-04.
`:cite-note-15`!15.`! `F0af`_`[↑`#cite-ref-15]`_`f `:citerefdaemengovaertsvandewalle1994`aDaemen, Joan; Govaerts, René; Vandewalle, Joos (1994). "Correlation matrices". In Preneel, Bart (ed.). `*Fast Software Encryption: Second International Workshop. Leuven, Belgium, 14-16 December 1994, Proceedings`*. Lecture Notes in Computer Science. Vol. 1008. Springer. pp. 275–285. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/3-540-60590-8_21.
`:cite-note-16`!16.`! `F0af`_`[↑`#cite-ref-16]`_`f `:citerefdaemen1998`aDaemen, Joan (10 June 1998). "Chapter 5: Propagation and Correlation - Annex to AES Proposal Rijndael" (PDF). `*NIST`*. Archived (PDF) from the original on 2018-07-23.
`:cite-note-17`!17.`! `F0af`_`[↑`#cite-ref-17]`_`f `:citerefnyberg2019`aNyberg, Kaisa (December 1, 2019). "The Extended Autocorrelation and Boomerang Tables and Links Between Nonlinearity Properties of Vectorial Boolean Functions" (PDF). Archived (PDF) from the original on 2020-11-02.

>>Further reading

• `:citerefcramahammer2011`aCrama, Yves; `F33f`_`[Hammer, Peter L.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Peter_L._Hammer]`_`f (2011), `*Boolean Functions: Theory, Algorithms, and Applications`*, Cambridge University Press, `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1017/CBO9780511852008, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 9780511852008
• "Boolean function", `*`F33f`_`[Encyclopedia of Mathematics`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Encyclopedia_of_Mathematics]`_`f`*, `F33f`_`[EMS Press`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=European_Mathematical_Society]`_`f, 2001 [1994]
• `:citerefjankovi-stankovi-moraga2003`aJanković, Dragan; Stanković, Radomir S.; Moraga, Claudio (November 2003). "Arithmetic expressions optimisation using dual polarity property". `*Serbian Journal of Electrical Engineering`*. `!1`! (71–80, number 1): 71–80. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.2298/SJEE0301071J.
• `:citerefarnold2011`aArnold, Bradford Henry (1 January 2011). `*Logic and Boolean Algebra`*. Courier Corporation. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-486-48385-6.
• `:citerefmanociletti2013`aMano, M. M.; Ciletti, M. D. (2013), `*Digital Design`*, Pearson

`c`F0af`_`[↑ Back to top`#top]`_`f`a